package com.psp.web.persist.dao;

import java.util.List;
import java.util.Set;

import com.psp.web.model.ProductAttributeBean;
import com.psp.web.model.ProductBean;
import com.psp.web.model.ProductSkuBean;

public interface ProductDao {

	/**
	 * 根据id查询服务
	 * 
	 * @param pid
	 * @return
	 */
	ProductBean selectById(String pid);

	/**
	 * 查询总数
	 * 
	 * @param firstType
	 * @param secType
	 * @param isAll
	 * @return
	 */
	int selectCount(Integer firstType, Integer secType);

	/**
	 * 分页查询
	 * 
	 * @param page
	 * @param pageSize
	 * @param firstType
	 * @param secType
	 * @param isAll
	 * @return
	 */
	List<ProductBean> selectList(Integer page, Integer pageSize, Integer firstType, Integer secType);

	/**
	 * 查询相似 商品
	 * 
	 * @param cateCode
	 *            商品类型
	 * @return
	 */
	List<ProductBean> selectSimilarBs(Integer page, Integer pageSize, Integer cateCode);

	int selectAllCount();

	List<ProductBean> selectAllList(Integer page, Integer pageSize);

	List<ProductAttributeBean> selectAttributeList(String bid);

	ProductSkuBean selectProductInfoBySukCode(String skuCode);

	/**
	 * 通过 pids 批量查询
	 * 
	 * @param pids
	 * @return
	 */
	List<ProductBean> selectByPids(Set<String> pids);

	/**
	 * 根据cateCode 批量查询
	 * 
	 * @param cateCodes
	 * @return
	 */
	List<ProductBean> selectListByCateCode(Set<Integer> cateCodes);

}
